* Graphs
*   Figure 1 (using dataset of non-voting rates by congress)
graph twoway (scatter rate congress, mcolor(black) msize(small) msymbol(smcircle)) (lowess rate congress, lpattern(solid) lcolor(black)) (lowess dw1meddis congress, lpattern(dash) lcolor(gray) yaxis(2)), ytitle(Nonvoting Rate) yscale(range(0 .45)) ylabel(0(.1).45) xtitle(Congress) xscale(range(16 66)) xline(50, noextend) xlabel(16(4)66) legend(off) ytitle(Distance Between Party Medians, axis(2)) ylabel(0(.2).9, axis(2)) text(.38 42 "Party Distance", place(w) size(small)) text(.22 26 "Nonvoting Rate", place(e) size(small))
*	To generate the equality of proportions tests used in Figures 2 and 3, use the dataset of roll calls
by congno: prtest(abstain), by(pre_elect)
by congno: prtest(abstain), by(election)
*	The results of these tests are compiled in a separate dataset in order to create the graphs
*   Figure 2 (using dataset with equality of proportion tests by congress)
graph twoway (scatter difftab1 congno if sigtab1==0, msymbol(Oh) mcolor(black))(scatter difftab1 congno if sigtab1==1, msymbol(s) mcolor(black)),xlabel(16(4)66) yline(0) xline(50, noextend) legend(label(1 Insignificant) label(2 Significant))
*   Figure 3 (using dataset with equality of proportion tests by congress)
graph twoway (scatter difftab2 congno if sigtab2==0, msymbol(Oh) mcolor(black))(scatter difftab2 congno if sigtab2==1, msymbol(s) mcolor(black)),xlabel(16(4)66) yline(0) xline(50, noextend) legend(label(1 Insignificant) label(2 Significant))

* Tables
*   Table 1
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c19 if notfull==0 & congno<34, cluster(icpsr) robust
*       Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist prejack c2-c19 if notfull==0 & congno<34, cluster(icpsr) robust
*   Table 2
*       Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c20-c38  if notfull==0 & congno>=34 & congno<54, cluster(icpsr) robust
*       Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reconstruct dist_km logdist c20-c38  if notfull==0 & congno>=34 & congno<54, cluster(icpsr) robust
*       Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reconstruct reedcannon reedcannon_maj dist_km logdist c20-c38 if notfull==0 & congno>=34 & congno<54, cluster(icpsr) robust
*   Table 3
*       Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c39-c50 if notfull==0&congno>=54, cluster(icpsr) robust
*       Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reedcannon reedcannon_maj dist_km logdist c39-c50 if notfull==0 & congno>=54, cluster(icpsr) robust
*       Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reedcannon reedcannon_maj primary officebloc partybloc dist_km logdist c39-c50 if notfull==0 & congno>=54, cluster(icpsr) robust

* Coefficient Graph: Electoral Incentives
*   Figure 4
center pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist prejack if notfull==0 & congno<34, standardize inplace
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist prejack c2-c19 if notfull==0 & congno<34, cluster(icpsr) robust
estimates store A
center pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reedcannon reconstruct reedcannon_maj dist_km logdist if notfull==0 & congno>=34 & congno<54, standardize inplace
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reedcannon reconstruct reedcannon_maj dist_km logdist c20-c38 if notfull==0 & congno>=34 & congno<54, cluster(icpsr) robust
estimates store B
center pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reedcannon reedcannon_maj primary officebloc partybloc dist_km logdist if notfull==0 & congno>=54, standardize inplace
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember reedcannon reedcannon_maj primary officebloc partybloc dist_km logdist c39-c50 if notfull==0 & congno>=54, cluster(icpsr) robust
estimates store C
coefplot (A, label(16th to 33rd) msymbol(o) mcolor(black)) (B, label(34th to 53rd) msymbol(t) mcolor(black)) (C, label(54th to 66th) msymbol(s) mcolor(black)), keep(ranagain tenure pctmargin) coeflabels(ranagain = "Ran for Reelection" tenure = "Terms Served" pctmargin = "Margin in Last Election", notick) xline(0) xtitle(Standardized Coefficient) yscale(noline)

* Coefficient Graph: Majority Parties
*   Figure 5
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age i.majmember dist_km logdist prejack c2-c19 if notfull==0 & congno<34, cluster(icpsr) robust
margins majmember, post
est store D
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age reconstruct reedcannon#majmember dist_km logdist c20-c22 c24-c35 c37 c38 if notfull==0 & congno>=34 & congno<54, cluster(icpsr) robust
margins reedcannon#majmember, post
est store E
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age notreedcannon#majmember primary officebloc partybloc dist_km logdist c39 c41-c50 if notfull==0 & congno>=54, cluster(icpsr) robust
margins notreedcannon#majmember, post
est store F
coefplot (D, label(16th to 33rd) msymbol(o) mcolor(black)) (E, label(34th to 53rd) msymbol(t) mcolor(black)) (F, label(54th to 66th) msymbol(s) mcolor(black)),  ylabel(1 "Minority" 1.5 "16th-33rd                 " 2 "Majority" 3 "Minority" 3.5 "34th-50th & 52nd-53rd                 " 4 "Majority" 5 "Minority" 5.5 "51st (Reed)                 " 6 "Majority" 7 "Minority" 7.5 "54th-55th (Reed) & 58th-61st (Cannon)                  " 8 "Majority" 9 "Minority" 9.5 "56th-57th & 62nd-66th                 " 10 "Majority", noticks) grid(none) ytick(2.5(2)8.5, noticks grid) yscale(noline) xtitle("Nonvoting Rate") legend(off)

* Supplemental Appendix
*   Figure A1: Voice Votes on Landmark Legislation, 16th to 38th Congresses
twoway (bar pctvoice congress, fcolor(gs10)), ytitle(% Receiving No Recorded Vote) xtitle(Congress) xscale(range(16 38)) xlabel(16(4)38) legend(off)
*	Figure A2: Public Bills Passed and Roll Calls Held
graph twoway (line totalrc congress) (line pubpassed congress, lpattern(dash)), legend(off) xscale(range(16 66)) xline(50, noextend) xlabel(16(4)66) xtitle("Congress") text(780 32 "Roll Calls", place(e) size(small)) text(220 28 "Public Bills", place(e) size(small))
*   Figure A3: DW-Nominate Dim 1 Party Median Distances
twoway (scatter dw1meddis congress, mcolor(black) msize(small) msymbol(smcircle)) (lowess dw1meddis congress, lpattern(solid) lcolor(black)), legend(off) xscale(range(16 66)) xline(50, noextend) xlabel(16(4)66) xtitle("Congress") ytitle(Distance Between Party Medians)
*	Table A1: OLS Estimates of Member Abstention Rates, 16th to 66th Congresses
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c51 if notfull==0, cluster(icpsr) robust
*		Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist reedcannon reedcannon_maj primary officebloc partybloc c2-c51 if notfull==0, cluster(icpsr) robust
*	Table A2: OLS Estimates of Member Abstention Rates, Pre- and Post-1877
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c29 if notfull==0 & congno<45, cluster(icpsr) robust
*		Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c31-c51 if notfull==0 & congno>=45, cluster(icpsr) robust
*		Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist reedcannon reedcannon_maj primary officebloc partybloc c31-c51 if notfull==0 & congno>=45, cluster(icpsr) robust
*	Table A3: OLS Estimates of Member Abstention Rates, First Era
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c17 if notfull==0 & congno<32, cluster(icpsr) robust
*		Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c18 if notfull==0 & congno<33, cluster(icpsr) robust
*		Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c20 if notfull==0 & congno<35, cluster(icpsr) robust
*		Model 4
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c21 if notfull==0 & congno<36, cluster(icpsr) robust
*		Model 5
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c2-c22 if notfull==0 & congno<37, cluster(icpsr) robust
*	Table A4: OLS Estimates of Member Abstention Rates, Second Era
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c20-c36 if notfull==0 & congno>=34 & congno<52, cluster(icpsr) robust
*		Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c20-c37 if notfull==0 & congno>=34 & congno<53, cluster(icpsr) robust
*		Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c20-c39 if notfull==0 & congno>=34 & congno<55, cluster(icpsr) robust
*		Model 4
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c20-c40 if notfull==0 & congno>=34 & congno<56, cluster(icpsr) robust
*	Table A5: OLS Estimates of Member Abstention Rates, Third Era, Earlier Cut Points
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c37-c50 if notfull==0&congno>=52, cluster(icpsr) robust
*		Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist reedcannon reedcannon_maj primary officebloc partybloc c37-c50 if notfull==0&congno>=52, cluster(icpsr) robust
*		Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c38-c50 if notfull==0&congno>=53, cluster(icpsr) robust
*		Model 4
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist reedcannon reedcannon_maj primary officebloc partybloc c38-c50 if notfull==0&congno>=53, cluster(icpsr) robust
*	Table A6: OLS Estimates of Member Abstention Rates, Third Era, Later Cut Points
*		Model 1
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c40-c50 if notfull==0&congno>=55, cluster(icpsr) robust
*		Model 2
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist reedcannon reedcannon_maj primary officebloc partybloc c40-c50 if notfull==0&congno>=55, cluster(icpsr) robust
*		Model 3
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist c41-c50 if notfull==0&congno>=56, cluster(icpsr) robust
*		Model 4
reg pctabsent hmeddist1 hmeddist2 ranagain pctmargin tenure age majmember dist_km logdist reedcannon reedcannon_maj primary officebloc partybloc c41-c50 if notfull==0&congno>=56, cluster(icpsr) robust
